229 research outputs found
A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency
This research started with an algebra for reasoning about rely/guarantee
concurrency for a shared memory model. The approach taken led to a more
abstract algebra of atomic steps, in which atomic steps synchronise (rather
than interleave) when composed in parallel. The algebra of rely/guarantee
concurrency then becomes an instantiation of the more abstract algebra. Many of
the core properties needed for rely/guarantee reasoning can be shown to hold in
the abstract algebra where their proofs are simpler and hence allow a higher
degree of automation. The algebra has been encoded in Isabelle/HOL to provide a
basis for tool support for program verification.
In rely/guarantee concurrency, programs are specified to guarantee certain
behaviours until assumptions about the behaviour of their environment are
violated. When assumptions are violated, program behaviour is unconstrained
(aborting), and guarantees need no longer hold. To support these guarantees a
second synchronous operator, weak conjunction, was introduced: both processes
in a weak conjunction must agree to take each atomic step, unless one aborts in
which case the whole aborts. In developing the laws for parallel and weak
conjunction we found many properties were shared by the operators and that the
proofs of many laws were essentially the same. This insight led to the idea of
generalising synchronisation to an abstract operator with only the axioms that
are shared by the parallel and weak conjunction operator, so that those two
operators can be viewed as instantiations of the abstract synchronisation
operator. The main differences between parallel and weak conjunction are how
they combine individual atomic steps; that is left open in the axioms for the
abstract operator.Comment: Extended version of a Formal Methods 2016 paper, "An algebra of
synchronous atomic steps
Structural operational semantics through context-dependent behaviour
We present an operational semantics for an imperative language with concurrency and procedures. The approach is novel because we expose the building block operations – variable assignment and condition checking – in the labels on the transitions; these form the context-dependent behaviour of a program. Using this style results in two main advantages over existing formalisms for imperative programming language semantics: firstly, our individual transition rules are less cluttered, and secondly, we are able to more abstractly and intuitively describe the semantics of procedures, including by-value and by-reference parameters. Existing techniques in the literature tend to result in complex and hard-to-read rules for even simple language constructs, or avoid discussion of procedures and parameters entirely. Our semantics for procedures utilises the context-dependent behaviour in the transition label to neatly handle variable name scoping, and defines the semantics of recursion without requiring additional rules. We also demonstrate how the semantics may be extended to handle function calls within expressions, array element and record field updates, and higher-order programming constructs
A semantics for behavior trees
In this paper we give a formal definition of the requirements translation language Behavior Trees. This language has been used with success in industry to systematically translate large, complex, and often erroneous requirements documents into a structured model of the system. It contains a mixture of state-based manipulations, synchronisation, message passing, and parallel, conditional, and iterative control structures. The formal semantics of a Behavior Tree is given via a structure-preserving translation to a version of Hoare’s process algebra CSP, extended with state-based constructs such as guards and updates, and a message passing facility similar to that used in publish/subscribe protocols. We first provide the extension of CSP and its operational semantics, which preserves the meaning of the original CSP operators, and then the Behavior Tree notation and its translation into the extended version of CSP
A semantics for Behavior Trees using CSP with specification commands
AbstractIn this paper we give a formal definition of the requirements translation language Behavior Trees. This language has been used with success in industry to systematically translate large, complex, and often erroneous requirements documents into a structured model of the system. It contains a mixture of state-based manipulations, synchronisation, message passing, and parallel, conditional, and iterative control structures. The formal semantics of a Behavior Tree is given via a translation to a version of Hoare’s process algebra CSP, extended with state-based constructs such as guards and updates, and a message passing facility similar to that used in publish/subscribe protocols. We first provide the extension of CSP and its operational semantics, which preserves the meaning of the original CSP operators, and then the Behavior Tree notation and its translation into the extended version of CSP
Refinement of higher-order logic programs
A refinement calculus provides a method for transforming specifications to executable code, maintaining the correctness of the code with respect to its specification. In this paper we extend the refinement calculus for logic programs to include higher-order programming capabilities in specifications and programs, such as procedures as terms and lambda abstraction. We use a higher-order type and term system to describe programs, and provide a semantics for the higher-order language and refinement. The calculus is illustrated by refinement examples
Proton Association Constants of His 37 in the Influenza-A M218–60 Dimer-of-Dimers
National Institute of Biomedical Imaging and Bioengineering (U.S.) (EB001960)National Institute of Biomedical Imaging and Bioengineering (U.S.) (EB002026)National Institute of Biomedical Imaging and Bioengineering (U.S.) (GM094648
Reviews
Miscellany. . Reviewed by George Colvin.
Wilkie Collins: A Critical and Biographical Study. Dorothy L. Sayers, ed. E.R. Gregory. Reviewed by J. R. Christopher.
Bloodhounds of Heaven: The Detective in English Fiction from Godwin to Doyle. Ian Ousby. Reviewed by J. R. Christopher.
The Dark Tower and Other Stories. C.S. Lewis, Ed. Walter Hooper. Reviewed by Nancy-Lou Patterson.
The Mythology of Middle-earth. Ruth S. Noel. Reviewed by Nancy-Lou Patterson.
Faeries. Brian Froud and Alan Lee. Reviewed by Robert S. Ellwood Jr..
Eschatus. Bruce Pennington. Reviewed by Robert S. Ellwood Jr..
The Lord of the Rings. Ralph Bakshi, director; Saul Zaentz, producer. Reviewed by Steven C. Walker.
The Lord of the Rings. Ralph Bakshi, director; Saul Zaentz, producer. Reviewed by Dale Ziegler
Recommended from our members
Headwater Streams and Wetlands are Critical for Sustaining Fish, Fisheries, and Ecosystem Services
Headwater streams and wetlands are integral components of watersheds that are critical for biodiversity, fisheries, ecosystem functions, natural resource-based economies, and human society and culture. These and other ecosystem services provided by intact and clean headwater streams and wetlands are critical for a sustainable future. Loss of legal protections for these vulnerable ecosystems would create a cascade of consequences, including reduced water quality, impaired ecosystem functioning, and loss of fish habitat for commercial and recreational fish species. Many fish species currently listed as threatened or endangered would face increased risks, and other taxa would become more vulnerable. In most regions of the USA, increased pollution and other impacts to headwaters would have negative economic consequences. Headwaters and the fishes they sustain have major cultural importance for many segments of U.S. society. Native peoples, in particular, have intimate relationships with fish and the streams that support them. Headwaters ecosystems and the natural, socio-cultural, and economic services they provide are already severely threatened, and would face even more loss under the Waters of the United States (WOTUS) rule recently proposed by the Trump administration
- …